package com.xfsg.core.operationlog.annotation;

import java.lang.annotation.*;

/**
 * @Classname OperationLogRecord
 * @Description TODO
 * @date 2022/1/19 20:58
 * @author ZhangYi
 */
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface OperationLogRecord {
    String success();

    String fail() default "";

    /**
     * 操作人
     * @return
     */
    String operator() default "";

    /**
     * 标识
     * 默认取当前restApi的value值
     * 是拼接在 bizNo 上作为 log 的一个标识。避免 bizNo 都为整数 ID 的时候和其他的业务中的 ID 重复。比如订单 ID、用户 ID 等
     */
    String prefix();

    /**
     * 业务编号
     * 比如订单ID，我们查询的时候可以根据 bizNo 查询和它相关的操作日志
     * @return
     */
    String bizNo();

    /**
     * 日志分类
     * @return
     */
    String category() default "";

    /**
     * 详情
     * @return
     */
    String detail() default "";

    /**
     * 条件
     * @return
     */
    String condition() default "";
}
